
import Head from 'next/head'

<Head>
  <script>
    {
      `(function() {
         var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e60fb290e204e04c5cb6f79b0ac1e697";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
       })();`
    }
  </script>
</Head>

![LangChain](https://pica.zhimg.com/50/v2-56e8bbb52aa271012541c1fe1ceb11a2_r.gif)





# 代理类型[#](#agent-types "Permalink to this headline")

代理使用LLM（语言模型)来确定应采取哪些操作以及以何顺序执行这些操作。

动作可能是使用工具并观察其输出，或向用户返回响应。

以下是LangChain中可用的代理：

`zero-shot-react-description`[#](#zero-shot-react-description "Permalink to this headline")
----------

此代理使用ReAct框架，仅基于工具的描述来确定要使用的工具。

可以提供任意数量的工具。

此代理需要为每个工具提供描述。

`react-docstore`[#](#react-docstore "Permalink to this headline")
-----------------------------------------------------------------

这个代理使用ReAct框架与文档存储进行交互。

必须提供两个工具：一个`Search`工具和一个`Lookup`工具（它们必须被命名为这样)。

`Search`工具应该搜索文档，而`Lookup`工具应该查找最近找到的文档中的一个术语。

这个代理相当于最初的[ReAct论文](https://arxiv.org/pdf/2210.03629.pdf)，特别是维基百科的例子。

`self-ask-with-search`[#](#self-ask-with-search "标题的永久链接")
----------------------------------------------------------

这个代理使用一个被命名为`Intermediate Answer`的工具。

这个工具应该能够查找问题的事实性答案。

这个代理相当于最初的[self ask with search paper](https://ofir.io/self-ask.pdf)，其中提供了Google搜索API作为工具。

### `conversational-react-description`[#](#conversational-react-description "Permalink to this headline")

这个代理程序旨在用于对话环境中。提示设计旨在使代理程序有助于对话。
它使用ReAct框架来决定使用哪个工具，并使用内存来记忆先前的对话交互。

